package clinivida.DAO;

import java.util.Date;
import java.util.List;

import clinivida.entity.Consulta;
import clinivida.entity.Pessoa;

public class ConsultaDAO extends GenericDAO
{

    public List<Consulta> listeConsultas(Date dataConsulta)
    {

        Date dataInicio = new Date(dataConsulta.getTime());
        Date dataFinal = new Date(dataConsulta.getTime());

        dataInicio.setHours(8);
        dataInicio.setMinutes(0);
        dataFinal.setHours(18);
        dataFinal.setMinutes(30);

        List<Consulta> listConsultas = getPureList(Consulta.class,
                "select c from Consulta c inner join fetch c.pessoas p where c.data2 >= :a1 and c.data2 <= :a2 ", dataInicio, dataFinal);

        Consulta consultaAnterior = new Consulta();
        for(Consulta consulta : listConsultas)
            if(consultaAnterior != null && consultaAnterior.getId() > 0 && consulta.getId() == consultaAnterior.getId())
            {
                listConsultas.remove(consulta);
                break;
            }
            else
                consultaAnterior = consulta;

        return listConsultas;

    }

    public void saveOrUpdate(Consulta consulta)
    {
        super.saveOrUpdate(consulta);
    }

    public void remove(Consulta consulta)
    {
        super.remove(consulta);
    }

}
